Jyrki Gadinger [Thu, 8 May 2025 12:23:40 +0000 (14:23 +0200)]
fix(msi): force termination of stuck processes
Stopping the Windows Explorer process does not always work. Per default
the MSI Restart Manager will display a warning message after a timeout,
and not attempt to restart Explorer afterwards -- resulting in a black
screen if no other window is open.
Setting the property `MSIRMSHUTDOWN` to `1` will force the termination
of the process when the timeout is reached, which finally allows the
Explorer to be restarted.
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Jyrki Gadinger [Wed, 7 May 2025 14:07:37 +0000 (16:07 +0200)]
fix(msi): do not completely remove the previous installation when updating
The MSIs we distribute perform so-called "major upgrades".
From the Microsoft docs, we learn that...
> A typical major upgrade **removes a previous version** of an
> application and installs a new version.
Indeed that was the case -- the previous version is uninstalled
completely before the new version gets installed. Since we install an
extension that's loaded by explorer, the installer will ask the user to
restart Windows Explorer during the uninstallation of the previous
version (and restarting that might not always work as expected).
There is a way to change this behaviour though, using Wix3's
`MajorUpgrade` element. Through its `Schedule` property it's possible
to define when the removal of the previous version should occur.
The previous value `afterInstallInitialize` is one of two values that
perform a complete uninstall/install sequence. The new value
`afterInstallExecute` will install new files on top of the previous
installation (depending on the `REINSTALLMODE` I guess) and remove
older files that are not present.
In the case of the extensions this means that the .dlls from the
previous installation will not be touched, as long as the version
embedded in the DLL info didn't change. This results in the installer
no longer requesting Windows Explorer to restart, which is a big plus :D
I also changed the REINSTALLMODE to `dmus` to allow downgrades as well.
With this change, the request to restart Windows Explorer should
hopefully happen only once an installation was made using an MSI that
contains this change. Further updates will only request a restart if
the DLL version of these extensions change...
See also:
- https://learn.microsoft.com/en-us/windows/win32/msi/major-upgrades
- https://docs.firegiant.com/wix/schema/wxs/majorupgrade/#attributes:~:text=Schedule
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Matthieu Gallien [Mon, 7 Apr 2025 15:57:21 +0000 (17:57 +0200)]
fix(msi): use standard replace mode for MSI installer
shoudl enable replacing files during install happen only when needed
instead of always
will need to take care of migration from older releases
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Matthieu Gallien [Fri, 30 May 2025 07:40:07 +0000 (09:40 +0200)]
Merge pull request #8314 from nextcloud/backport/8181/stable-3.16
[stable-3.16] fix(gui): handle invalid file name edge case on Windows
Jyrki Gadinger [Thu, 24 Apr 2025 16:04:35 +0000 (18:04 +0200)]
fix(gui): don't append another slash to the relative path
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Jyrki Gadinger [Thu, 24 Apr 2025 16:01:54 +0000 (18:01 +0200)]
refactor: add new filePath method to folder
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Jyrki Gadinger [Thu, 17 Apr 2025 16:05:28 +0000 (18:05 +0200)]
fix(gui): always hide the error label if we are allowed to rename
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Jyrki Gadinger [Thu, 17 Apr 2025 16:04:46 +0000 (18:04 +0200)]
fix(gui): update info text with proper invalid characters
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Jyrki Gadinger [Thu, 17 Apr 2025 16:00:09 +0000 (18:00 +0200)]
fix(gui): handle invalid file name edge case on Windows
File names like "c:blah" would break the usage of the dialogue,
displaying a path like "c://blah" instead.
Apparently `QDir::filePath` checks if the passed file name is an
absolute file name using `!QFileInfo::isRelative`, which is the case if
the second character in the string is a colon -- probably indicating a
drive letter.
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Matthieu Gallien [Fri, 30 May 2025 07:39:34 +0000 (09:39 +0200)]
Merge pull request #8313 from nextcloud/backport/8280/stable-3.16
[stable-3.16] fix(AppImage): bundle client translations
Jyrki Gadinger [Thu, 15 May 2025 15:11:04 +0000 (17:11 +0200)]
fix(AppImage): bundle client translations
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Matthieu Gallien [Fri, 30 May 2025 07:39:11 +0000 (09:39 +0200)]
Merge pull request #8312 from nextcloud/backport/8276/stable-3.16
[stable-3.16] fix(delete): fix move to trash in read-only folders
Matthieu Gallien [Wed, 21 May 2025 08:37:09 +0000 (10:37 +0200)]
fix(moveToTrash): enable use of move to trash in some automated tests
should improve coverage for move to trash feature to ensure this is
working as expected by users
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Tue, 20 May 2025 21:35:29 +0000 (23:35 +0200)]
fix(readonly): ignore move to trash for read-èonly items
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Thu, 15 May 2025 10:30:25 +0000 (12:30 +0200)]
fix(delete): fix move to trash when parent folder is read-only
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Thu, 15 May 2025 10:28:10 +0000 (12:28 +0200)]
fix(delete): optimize item exist checks when propagating from server
QFileInfo::exists(filename) is the fastest method
alos avoid creating too many QFileInfo instances when we need it for
multiple purposes
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Thu, 15 May 2025 10:04:43 +0000 (12:04 +0200)]
fix(delete): always print warnings when file deletions fail
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Nextcloud bot [Fri, 30 May 2025 02:56:46 +0000 (02:56 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Thu, 29 May 2025 03:08:55 +0000 (03:08 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Camila Ayres [Wed, 28 May 2025 14:48:43 +0000 (16:48 +0200)]
Merge pull request #8308 from nextcloud/backport/8228/stable-3.16
[stable-3.16] fix(migration): migrate general network settings.
Camila Ayres [Sat, 3 May 2025 18:00:17 +0000 (20:00 +0200)]
fix(migration): migrate general network settings.
Signed-off-by: Camila Ayres <hello@camilasan.com>
Nextcloud bot [Wed, 28 May 2025 02:59:53 +0000 (02:59 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Tue, 27 May 2025 02:58:32 +0000 (02:58 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Sun, 25 May 2025 02:59:33 +0000 (02:59 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Sat, 24 May 2025 02:59:18 +0000 (02:59 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Fri, 23 May 2025 12:27:52 +0000 (12:27 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Thu, 22 May 2025 02:59:50 +0000 (02:59 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Wed, 21 May 2025 03:03:40 +0000 (03:03 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Tue, 20 May 2025 03:03:09 +0000 (03:03 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Mon, 19 May 2025 06:00:47 +0000 (06:00 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Thu, 8 May 2025 03:09:07 +0000 (03:09 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Matthieu Gallien [Wed, 7 May 2025 10:02:38 +0000 (12:02 +0200)]
Merge pull request #8233 from nextcloud/backport/8227/stable-3.16
[stable-3.16] revert: remove duplicated code when copying legacy config to new path.
Camila Ayres [Fri, 2 May 2025 20:37:10 +0000 (22:37 +0200)]
revert: remove duplicated code when copying legacy config to new path.
This reverts commit
a6745bc594ebe388ffadaf6b55fedccce9d0e0d4.
Fix for #8176.
Nextcloud bot [Wed, 7 May 2025 03:02:18 +0000 (03:02 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Tue, 6 May 2025 03:05:49 +0000 (03:05 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Sat, 3 May 2025 03:02:26 +0000 (03:02 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Fri, 2 May 2025 03:02:30 +0000 (03:02 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Thu, 1 May 2025 03:02:47 +0000 (03:02 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Wed, 30 Apr 2025 03:02:49 +0000 (03:02 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Tue, 29 Apr 2025 03:03:04 +0000 (03:03 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Matthieu Gallien [Mon, 28 Apr 2025 10:10:35 +0000 (12:10 +0200)]
prepare for release 3.16.4
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Mon, 28 Apr 2025 10:00:56 +0000 (12:00 +0200)]
Merge pull request #8215 from nextcloud/backport/8209/stable-3.16
[stable-3.16] fix(filesystem): ensure we set a file read-only or read-write on Windows
Matthieu Gallien [Fri, 25 Apr 2025 13:52:31 +0000 (15:52 +0200)]
fix(propagation): ensure we run file removal propagation steps
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Fri, 25 Apr 2025 10:19:26 +0000 (12:19 +0200)]
fix(propagation): more logs on folder deletions propagation step
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Fri, 25 Apr 2025 12:00:30 +0000 (14:00 +0200)]
fix(propagation): ensure we delete pending folders before terminating
we might forget to run the pending folder deletions when terminating
synchronization
ensure we check if any of them are to be done
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Fri, 25 Apr 2025 08:11:15 +0000 (10:11 +0200)]
fix(filesystem): use platform specific API to make a file read-only
on Windows we may fail to mark a file read-only be read-write again
using high level API
switch to use of low level C API from Microsoft
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Fri, 25 Apr 2025 07:47:08 +0000 (09:47 +0200)]
fix(filesystem): log more permissions when deleting a file fails
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Mon, 28 Apr 2025 07:59:58 +0000 (09:59 +0200)]
Merge pull request #8214 from nextcloud/backport/8201/stable-3.16
[stable-3.16] fix(gui): resize sharee search results list dependent on required space
Jyrki Gadinger [Thu, 24 Apr 2025 11:20:46 +0000 (13:20 +0200)]
fix(gui): resize share search results list dependent on required space
In the case there are more search results present than there's space for
it, always display a scrollbar. Some QtQuick themes don't make it
obvious that the list is scrollable.
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Jyrki Gadinger [Mon, 28 Apr 2025 06:23:08 +0000 (08:23 +0200)]
Merge pull request #8211 from nextcloud/backport/8200/stable-3.16
[stable-3.16] fix(assert): remove runtime assert that could crash production builds
Matthieu Gallien [Thu, 24 Apr 2025 10:09:48 +0000 (12:09 +0200)]
fix(assert): remove runtime assert that could crash production builds
use debug only assert to remove the possibility that we self inflict
crashes on users
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Nextcloud bot [Mon, 28 Apr 2025 03:04:28 +0000 (03:04 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Sun, 27 Apr 2025 03:01:02 +0000 (03:01 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Sat, 26 Apr 2025 03:01:50 +0000 (03:01 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Fri, 25 Apr 2025 03:01:07 +0000 (03:01 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Matthieu Gallien [Thu, 24 Apr 2025 10:10:24 +0000 (12:10 +0200)]
Merge pull request #8199 from nextcloud/backport/8193/stable-3.16
[stable-3.16] Bugfix/do not crash when propagating changes with move or rename
Matthieu Gallien [Wed, 23 Apr 2025 16:26:54 +0000 (18:26 +0200)]
fix(rename): avoid hitting runtime assert when renaming virtual files
when propagating a rename to the child items, we must not make child
items be done from propagator point of view
they will be part of their own propagator item and that will create
issues
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Wed, 23 Apr 2025 09:54:34 +0000 (11:54 +0200)]
fix(rename): handle complex rename/move scenario
ensure we do not leak records and properly update them in client
database
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Tue, 22 Apr 2025 14:03:29 +0000 (16:03 +0200)]
feat(discovery): add more info for renamed items
add original name
add renamed name
add target name
should make it easier to analyze rename operations
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Tue, 22 Apr 2025 14:03:05 +0000 (16:03 +0200)]
feat(discovery): add missing inode info for discovered files
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Tue, 22 Apr 2025 14:02:12 +0000 (16:02 +0200)]
perf(discovery): optimize empty strings
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Thu, 24 Apr 2025 09:51:06 +0000 (11:51 +0200)]
Merge pull request #8198 from nextcloud/backport/8195/stable-3.16
[stable-3.16] revert to QFile::remove to remove single files
Matthieu Gallien [Thu, 24 Apr 2025 08:27:41 +0000 (10:27 +0200)]
fix(filesystem): warn when trying to delete an already deleted file
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Thu, 24 Apr 2025 08:07:47 +0000 (10:07 +0200)]
fix(filesystem): still use std::filesystem::remove for folders
this API has a way to provide an error when failing to delete a folder
we may want to know why teh folderf ailed to be deleted
QDir::rmdir does not provide any error when failing to delete a folder
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Thu, 24 Apr 2025 07:30:58 +0000 (09:30 +0200)]
fix: Revert "stop using QFile api to delete a single local file"
This reverts commit
58d28ab3306a5cd36d990678416375386d9a0db9.
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Thu, 24 Apr 2025 09:01:46 +0000 (11:01 +0200)]
Merge pull request #8196 from nextcloud/backport/8182/stable-3.16
[stable-3.16] Bugfix/read only windows folders
Matthieu Gallien [Fri, 18 Apr 2025 14:05:07 +0000 (16:05 +0200)]
fix(rmdir): switch to another API for folder removal
current QDir::rmdir API does not provide an error message when failing
to delete
retuse FileSystem::remove that may just works with folders
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Thu, 17 Apr 2025 17:21:49 +0000 (19:21 +0200)]
fix(autotests): do not remove read-only files already removed
the sync engine will remove invalid items inside read-only folders
not needed to remove them in tests and rather checks that they were
indeed removed
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Thu, 17 Apr 2025 17:18:40 +0000 (19:18 +0200)]
refactor(logs): improve logs around deletions and permissions
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Thu, 17 Apr 2025 15:26:12 +0000 (17:26 +0200)]
fix(permissions): solve issues with file permissions automated tests
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Thu, 17 Apr 2025 12:35:02 +0000 (14:35 +0200)]
fix(read only folder): allow renaming new file inside read-only folders
needed to download a new file inside a read-only folder
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Thu, 17 Apr 2025 09:57:22 +0000 (11:57 +0200)]
feat(windows native API): use windows specific API for read-only folders
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Thu, 24 Apr 2025 09:01:21 +0000 (11:01 +0200)]
Merge pull request #8197 from nextcloud/backport/8189/stable-3.16
[stable-3.16] Bugfix/filesystem remove file not working
Matthieu Gallien [Tue, 22 Apr 2025 09:16:21 +0000 (11:16 +0200)]
fix: use safer conversion from QString to filesystem::path
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien [Tue, 22 Apr 2025 09:14:07 +0000 (11:14 +0200)]
feat: better logs when a file cannot be removed
should log the reason why a file cannot be deleted
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Claudio Cambra [Thu, 24 Apr 2025 07:14:15 +0000 (15:14 +0800)]
Merge pull request #8194 from nextcloud/backport/8190/stable-3.16
[stable-3.16] pin Craft revision to a specific commit
Jyrki Gadinger [Tue, 22 Apr 2025 09:54:26 +0000 (11:54 +0200)]
ci: pin craft revision to a specific commit
25.03-nc still has pkg-config in it, which recently got replaced in
Craft by pkgconf
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Jyrki Gadinger [Tue, 22 Apr 2025 09:50:23 +0000 (11:50 +0200)]
ci: temporarily use custom craftmaster fork
this is required to make `General`.`CraftRevision` work as intended.
Revert this after
https://invent.kde.org/packaging/craftmaster/-/merge_requests/7 is
merged.
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Nextcloud bot [Wed, 23 Apr 2025 03:01:50 +0000 (03:01 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Tue, 22 Apr 2025 03:03:02 +0000 (03:03 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Mon, 21 Apr 2025 03:02:32 +0000 (03:02 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Sun, 20 Apr 2025 03:01:42 +0000 (03:01 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Sat, 19 Apr 2025 03:02:53 +0000 (03:02 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Fri, 18 Apr 2025 03:02:11 +0000 (03:02 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Nextcloud bot [Thu, 17 Apr 2025 03:02:39 +0000 (03:02 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Camila Ayres [Wed, 16 Apr 2025 08:36:33 +0000 (10:36 +0200)]
build: prepare 3.16.3 release.
Signed-off-by: Camila Ayres <hello@camilasan.com>
Matthieu Gallien [Wed, 16 Apr 2025 06:57:46 +0000 (08:57 +0200)]
Merge pull request #8172 from nextcloud/backport/8168/stable-3.16
[stable-3.16] use specific revision for KDE blueprints that matches the craft cache
Jyrki Gadinger [Tue, 15 Apr 2025 16:53:14 +0000 (18:53 +0200)]
ci: use specific revision for KDE blueprints that matches the craft cache
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Nextcloud bot [Wed, 16 Apr 2025 03:04:24 +0000 (03:04 +0000)]
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
Matthieu Gallien [Tue, 15 Apr 2025 21:00:35 +0000 (23:00 +0200)]
Merge pull request #8169 from nextcloud/backport/8036/stable-3.16
[stable-3.16] fix(migration): import proxy and general settings from legacy config.
Camila Ayres [Tue, 15 Apr 2025 15:03:28 +0000 (17:03 +0200)]
fix: non-void function does not return a value in all control paths.
Signed-off-by: Camila Ayres <hello@camilasan.com>
Camila Ayres [Tue, 15 Apr 2025 14:10:16 +0000 (16:10 +0200)]
fix: remove unused var.
Signed-off-by: Camila Ayres <hello@camilasan.com>
Camila Ayres [Tue, 15 Apr 2025 10:51:42 +0000 (12:51 +0200)]
chore: make settings keys const static member of ConfigFile class.
Signed-off-by: Camila Ayres <hello@camilasan.com>
Camila Ayres [Tue, 15 Apr 2025 09:52:19 +0000 (11:52 +0200)]
chore: rename function, change log level.
Signed-off-by: Camila Ayres <hello@camilasan.com>
Camila Ayres [Mon, 17 Mar 2025 18:09:32 +0000 (19:09 +0100)]
fix(migration): import proxy and general settings from legacy config.
Signed-off-by: Camila Ayres <hello@camilasan.com>
Camila Ayres [Mon, 17 Mar 2025 16:22:52 +0000 (17:22 +0100)]
chore(migration): remove duplicated code when copying legacy config to new path.
Signed-off-by: Camila Ayres <hello@camilasan.com>
Jyrki Gadinger [Tue, 15 Apr 2025 14:49:51 +0000 (16:49 +0200)]
Merge pull request #8166 from nextcloud/backport/8160/stable-3.16
[stable-3.16] fix(msi): allow custom installation directory
Jyrki Gadinger [Tue, 15 Apr 2025 09:47:49 +0000 (11:47 +0200)]
fix(msi): allow custom installation directory
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Jyrki Gadinger [Tue, 15 Apr 2025 12:59:41 +0000 (14:59 +0200)]
Merge pull request #8162 from nextcloud/backport/8156/stable-3.16
[stable-3.16] fix(theme): correct dark/light mode check on Win10
Jyrki Gadinger [Tue, 15 Apr 2025 08:13:14 +0000 (10:13 +0200)]
fix(theme): correct dark/light mode check on Win10
`Utility::registryGetKeyValue` returns an invalid QVariant should the
key not exist -- which is the case if that switch has never been toggled
before.
--> Fix this by ensuring the QVariant is valid, and only then try to
convert it to a bool.
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>